package com.boatAnchorAssistant.service.service.in;

import nirvana.core.domains.vo.PageResult;
import com.boatAnchorAssistant.pojo.param.alarmType.*;
import com.boatAnchorAssistant.pojo.vo.alarmType.*;

import java.util.List;


/**
 * 【描 述】：报警类型服务
 * 【环 境】：J2SE
 * 【详 细】：
 */
public interface AlarmTypeService {

    /**
     * 创建报警类型
     *
     * @param param
     */
    void createAlarmType(CreateAlarmTypeParam param);

    /**
     * 修改报警类型
     *
     * @param param
     */
    void editAlarmType(EditAlarmTypeParam param);

    /**
     * 移除报警类型
     *
     * @param id
     */
    void removeAlarmType(Long id);

    /**
     * 启动/禁用报警类型
     *
     * @param id
     */
    void enabledAlarmType(Long id);

    /**
     * 获取报警类型详情
     *
     * @param id
     * @return
     */
    GetAlarmTypeVo getAlarmType(Long id);

    /**
     * 获取报警类型列表
     *
     * @param param
     * @return
     */
    PageResult<GetAlarmTypeListVo> getAlarmTypeList(GetAlarmTypeListParam param);


    /**
     * 获取报警类型下拉列表
     *
     * @param param
     * @return
     */
    List<GetAlarmTypeDownListVo> getAlarmTypeDownList(GetAlarmTypeDownListParam param);


}